Technology has led to a revolution in information and communications. By use of a globe encircling telecommunications networks, one can instantly cross borders and contact foreign family, friends, and business associates. While this revolution has made national borders an insignificant hurdle, cultural borders can be more demanding, particularly in the case of language. While various global industry standards have spread across the globe and have drawn people closer together, language, due to its deep historical, cultural, and even religious ties, will continue to separate people.
The universal flagship of this "information revolution" has been the computer, particularly the personal computer. While the personal computer has made an undeniable impact on the world, even today it is prevalent in only a small portion of the world. As is clear in the market of today, and inevitable in the market of the future, computers must have the ability to adapt to different cultures.
Many attempts have been made to the bridge the language barrier. Hooleon Corporation, among many others, has presented a variety of keyboards and accessories as solutions to the problem. Of these, the Bilingual Keyboards of Hooleon are standard keyboards in which the keytops of each key have both an English letter and a foreign character. These keyboards function well but are limiting. A different keyboard is required for each different pair of languages. This requires multi-lingual operators to purchase a number of keyboards and manually remove and install a different keyboard when switching between languages.
Other solutions which have been brought forth in the marketplace include keyfront labels, relegendable keys, and custom key imprinting. The keyfront labels are clear labels depicting alternate characters, designed to stick on the keytops of keys. When the labels are installed the user can see both the regularly occurring key identification as well as the alternate character of the label. This application also has drawbacks as there is limited room on the key top for displaying alternate characters. Therefore, a single keyboard will only have one, or at the most, two other alternate character sets. To serve more than three character sets will require an additional keyboard.
The same limitation occurs in the relegendable keys. The relegendable keys are keys with a snap-on transparent top. The user may write on the top or insert a label between the top and the key. For such an application the room on the key top is limited. Either more keyboards are necessary for servicing more than three languages, or the legends on the keyboard will be extremely small. In addition, the relegendable keys are more expensive to manufacture than other keys due to the transparent top and snap-on structure. This is especially true when dealing with languages with such extensive character sets that each key is required to produce three or more characters. Putting more than two legends on a key is impractical.
Custom keys are specially designed keys with additional characters imprinted on the keytops and key sides. This solution has the same drawback as the relegendable keys due to the limited area upon which alternate characters can be imprinted.
Alternate designs for achieving keyboards for multilingual applications are disclosed in IBM Technical Disclosure Bulletin, 1981 Vol. 23, p.9611. This bulletin sets forth techniques using Light Emitting Diodes (LED's) or a Liquid Crystal Display (LCD) on the key caps. Another design is shown in IBM Technical Disclosure Bulletin, 1981 Vol. 24, p.221. This bulletin demonstrates displaying projected character images on blank keys. While both of these designs are effective solutions to overcoming language barriers, they are expensive due to the additional hardware and design requirements.
Another type of design involves utilizing an overlay on top of the keyboard. The overlay is a structure which rests on the keyboard. One style is a thin membrane while another has a rigid skeleton with flexible plastic domes into which the keys from the keyboard extend. Overlaps allow alternate characters to be printed on the flexible portions corresponding to the keys, thus reassigning the keys if associated software is provided. Overlaps have drawbacks, however. First, overlay material can dramatically change the touch and feel of the keys. Second, in order to accommodate the overlaps, the keys are often circular, or spaced further apart than those of a standard personal computer keyboard.
U.S. Pat. No. 4,075,465 teaches a template overlay for providing additional key identifying information. While this design effectively provides alternate characters for each key it necessarily requires that the keys be either spaced further apart, or be of smaller size. This increase in distance and/or key size would force competent touch typists to relearn the keyboard as the user's fingers are forced to move further or be extremely precise in order to hit the smaller keys.
Many operating systems, including the most recent version (version 6.0) of the IBM PC compatible operating system MS-DOS produced by Microsoft Corporation, include international use applications. The DOS type application involves loading a memory resident program with the command "nlsfunc" which enables the user to switch between different country designations. In addition, the command "mode con cp prep" must be executed to load the alternate character set into memory, and the command "keyb" must be executed to assign alternate character sets to the keyboard. This system requires the user to have a picture of the alternate character layout on hand at all times. Unless one can touch-type in the alternate configuration this arrangement hampers performance as the user must continually refer to the keyboard picture to ensure they are striking the correct key.
A discussion of the prior art manners in which systems receive input from keyboards and keyboard-like structures is helpful in undertaking the type of problems involved in producing multilingual input devices. The material set forth below is intended to serve as background in understanding the operation, motivation and advantages of the present invention.
Generally, keyboards which are directly connected to modern computers produce digital scan codes. The scan code corresponds to the (combination of) key(s) which have been pressed or released. The operating system in the computer then decodes these signals and converts them to characters, or controls. For example, on a typical American type DOS PC, assume that the user presses the &lt;right shift&gt; key (36H) then the &lt;A&gt; key (1Eh). This will produce an uppercase "A" since the &lt;right shift&gt; key release code (B6h) did not precede the &lt;A&gt; key and the system knew that one shift key was depressed while the &lt;A&gt; key was pressed. Other scan code systems, such are used in the AcessBUS standard, do not require that the system track the state of the shift codes. Instead, the bus transmits the shift state codes with each character. The disadvantage of this technique is that the keyboard is tied to specific keys to use as shift keys. However the keyboard does not have to send key release (key up) codes. This allows the keyboard to support more than 127 keys with a single byte scan code. With the keyb down/key up scan codes, it takes two unique codes per key to accomplish the same range of character coverage, limiting the number of keys.
Scan code techniques reduce hardware cost. For example, except for the key caps, there is no difference between a French and a German keyboard. In fact even the "capslock" light is under software control allowing the systems to adjust the use of the capslock key. In the case of the French AZERTY keyboard the capslock works as a shift lock key. This is because, in lower case, all four rows are lower case letters, plus some symbols. One must shift to upper case to get numbers. The keyboard takes advantage of the fact that some letters, such as the "c", only appear in lower case in French. However, the capslock key on these keyboards is not a toggle key, as it is in most other keyboards, where pressing it once engages capslock and pressing again disables it. Instead pressing it once or more than one with shift to upper case. It will remain in upper case until a shift key is pressed and released. This resembles older typewriters which used a mechanical shiftlock technique.
The operating system (OS) on typical computers, either through keyboard IDs sent by the keyboard at initialization time or through operating systems configuration files (or both), selects tables to use to translate the scan codes to characters. The tables used vary depending on the language and code page. A code page is a logical construct that assigns unique binary values to each character. For example on a US PC using code page 437 (US) the Japanese Yen symbol is 9Dh. In the Japanese code page 932 this value is used as the first byte of a two byte Kanji symbol. Therefore the 932 code page uses 5Ch for the Yen symbol replacing the back slash " " symbol. Thus if a user is typing on a system with a Japanese keyboard and the current code page is 932 then the computer will generate a 5Ch code for the Yen keyboard character, but if the user switches to the US 437 code page it will generate a 9Dh code for the Yen character.
At times the computers keep track of code pages, but in other cases, such as special symbols, the system just changes fonts to remap the characters to symbols that have no relation to the actual character as stored.
In some cases the language has too many characters to assign a unique key per character. In languages like Japanese, Chinese and Korean the operating system contains an additional process to convert the raw input characters to the actual characters. This process is an input method editor. In Japanese, for example, the user inputs in Roman or Kana characters, with Kana characters representing syllabic sounds. The input method editor is used to select the appropriate Kanji (ideograph) characters based in the keyboard characters. Typically the keyboard contains special keys to control the input method editor. In the case of Chinese, often the input method editor selects hanzi based on pieces of the character shape (radicals). In the case of Korean, hangul is entered by entering the jama that compose the character.
Other languages use multiple keystrokes to enter characters. Often these are non-spacing (dead keys). These are often use for diacritics (accent marks). The typewriter technology implemented the diacritics by typing the symbol but not advancing to the next space, thus using a dead key or non-spacing character. The computer will either combine the two keystrokes as a single accented character, or will store the character and diacritic as two separate character. When they are stored they are often stored in the reverse order that they are typed to simplify sorting. Thus typing &lt;umlaut&gt; +"U" with create either a U-umlaut character or a "U" character followed by an umlaut character.
To avoid changing code pages, new standards such as UNICODE and ISO 10646 were developed. UNICODE currently has about half of its potential 64 thousand characters assigned and supports not only the characters sets of most modern languages but also special characters that did not fit into any code page. With standards like this the problems of character storage are greatly simplified. New printing and font technology enables us to display and print large character sets. However, currently there is no technology to input such a large character set.
None of the prior art methods or approaches successfully addresses the problems of making a single, economical, keyboard structure applicable to a multiplicity of different languages and alphanumeric systems. A need for a more universal keyboard structure, adaptable for use around the world, remains.